<%--
  Created by IntelliJ IDEA.
  User: 任
  Date: 2020/2/23
  Time: 11:21
  To change this template use File | Settings | File Templates.
--%>
<%@include file="include-head.jsp"%>
<%@include file="include-nav.jsp"%>
<%@include file="include-sidebar.jsp"%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>

<link rel="stylesheet" type="text/css" href="/static/css/pagination01.css"/>
<div class="col-sm-9 col-sm-offset-3 col-md-10 col-md-offset-2 main">
    <div class="panel panel-default">
        <div class="panel-heading">
            <h3 class="panel-title"><i class="glyphicon glyphicon-th"></i> 数据列表</h3>
        </div>
        <div class="panel-body">

            <form action="/admin/query/for/search" method="post" class="form-inline" role="form" style="float:left;">
                <div class="form-group has-feedback">
                    <div class="input-group">
                        <div class="input-group-addon">查询条件</div>
                        <input
                                value="${param.keyword}"
                                name="keyword"
                                class="form-control has-success" type="text" placeholder="请输入查询条件">
                    </div>
                </div>
                <button type="submit" class="btn btn-warning"><i class="glyphicon glyphicon-search"></i> 查询</button>
            </form>

            <button id="batchRemoveBtn"
                    type="button" class="btn btn-danger"
                    style="float:right;margin-left:10px;">
                <i class=" glyphicon glyphicon-remove"></i> 删除</button>

            <a href="/admin/to/add/page.html" class="btn btn-primary" style="float: right;">
                <i class="glyphicon glyphicon-plus"></i> 新增
            </a>

            <br>
            <hr style="clear:both;">
            <div class="table-responsive">
                <table class="table  table-bordered">
                    <thead>
                    <tr >
                        <th width="30">#</th>
                        <th width="30"><input id="summaryBox" type="checkbox"></th>
                        <th>账号</th>
                        <th>名称</th>
                        <th>邮箱地址</th>
                        <th width="100">操作</th>
                    </tr>
                    </thead>
                    <tbody>
                    <tr>
                        <%--判断如果分页查询出来为空 则输出没有查询到结果--%>
                        <c:if test="${empty requestScope['PAGE-INFO'].list}">
                    <tr>
                        <td style="text-align: center;" colspan="6">抱歉！没有符合您要求的查询结果！</td>
                    </tr>
                    </c:if>
                    <c:if test="${!empty requestScope['PAGE-INFO'].list}">
                        <c:forEach var="admin" items="${requestScope['PAGE-INFO'].list}" varStatus="myStatus">
                            <tr>
                                <td>${myStatus.count}</td>
                                <td><input adminId="${admin.id}" class="itemBox" type="checkbox"></td>
                                <td>${admin.loginacct}</td>
                                <td>${admin.username}</td>
                                <td>${admin.email}</td>
                                <td>
                                    <%--<button type="button" class="btn btn-success btn-xs"><i class=" glyphicon glyphicon-check"></i></button>--%>
                                        <a href="/assign/to/assign/role/page?adminId=${admin.id }&pageNum=${requestScope['PAGE-INFO'].pageNum}" class="btn btn-success btn-xs">
                                            <i class=" glyphicon glyphicon-check"></i>
                                        </a>
                                    <a href="/admin/to/edit/page?adminId=${admin.id }&pageNum=${requestScope['PAGE-INFO'].pageNum}" class="btn btn-primary btn-xs">
                                        <i class=" glyphicon glyphicon-pencil"></i>
                                    </a>

                                    <button adminId="${admin.id}" type="button" class="btn btn-danger btn-xs uniqueRemoveBtn"><i class=" glyphicon glyphicon-remove"></i></button>
                                </td>
                            </tr>
                        </c:forEach>
                    </c:if>
                    </tbody>
                    <tfoot>
                    <tr >
                        <td colspan="6" align="center">
                            <div id="Pagination" class="pagination"><!-- 这里显示分页 --></div>
                        </td>
                    </tr>

                    </tfoot>
                </table>
            </div>
        </div>
    </div>
</div>
<script type="text/javascript" src="script/jquery.pagination.js"></script>
<script>
    $(function(){
        //对分页   导航条显示初始化
        initPagination();
    });
    // 声明函数封装导航条初始化操作
    function initPagination() {
        // 声明变量存储总记录数
        var totalRecord = ${requestScope['PAGE-INFO'].total};
        // 声明变量存储分页导航条显示时的属性设置
        var paginationProperties = {
            num_edge_entries : 3,        //边缘页数
            num_display_entries : 5,      //主体页数
            callback : pageselectCallback, //回调函数
            items_per_page : ${requestScope['PAGE-INFO'].pageSize},    //每页显示数据数量，就是pageSize
            current_page : ${requestScope['PAGE-INFO'].pageNum - 1},//当前页页码
            prev_text : "上一页",       //上一页文本
            next_text : "下一页"        //下一页文本
        };
        // 显示分页导航条
        $("#Pagination").pagination(totalRecord, paginationProperties);
    }

    // 在每一次点击“上一页”、“下一页”、“页码”时执行这个函数跳转页面
    function pageselectCallback(pageIndex, jq) {
        // pageIndex从0开始，pageNum从1开始
        var pageNum = pageIndex + 1;

        var keyword=$('[name="keyword"]').val();
        // 跳转页面
        window.location.href = "/admin/query/for/search?pageNum="+pageNum+"&keyword="+keyword;
        return false;
    }
    //全选或全不选
    $("#summaryBox").click(function(){
        $(".itemBox").prop("checked",this.checked);
    })
    //自己强行创建一个值 给当前行数据赋值为当前行的id然后根据id确定是否删除当前这行的数据
    //绑定 adminId  当前id循环
    $("#batchRemoveBtn").click(function(){
        //创建数组对象
        var adminIdArray=new Array();
        //创建数组对象 存储账号
        var loginAcctArray=new Array();
        $(".itemBox:checked").each(function(){//each返回数组中当前的键／值对并将数组指针向前移动一步
           //attr根据该方法不同的参数，其工作方式也有所差异。
            //当该方法用于返回属性值，则返回第一个匹配元素的值。
            // 当该方法用于设置属性值，则为匹配元素设置一个或多个属性/值对
            var adminId=$(this).attr("adminId");
            //方法可向数组的末尾添加一个或多个元素，并返回新的长度 push  数组长度加一,使当前者一行数据加上本来没有的id
            adminIdArray.push(adminId);
            var loginAcct=$(this).parent("td").next().text();
            loginAcctArray.push(loginAcct);
        })
        if(adminIdArray.length==0){
            alert("请勾选您要删除的记录!");
            return ;
        }
        Remove(adminIdArray,loginAcctArray);
    })

    //单条删除
    $(".uniqueRemoveBtn").click(function(){
        //获取当前adminId的值
        var adminIdArray=new Array();
        //创建数组对象 存储账号
        var loginAcctArray=new Array();
       //each返回数组中当前的键／值对并将数组指针向前移动一步
            //attr根据该方法不同的参数，其工作方式也有所差异。
            //当该方法用于返回属性值，则返回第一个匹配元素的值。
            // 当该方法用于设置属性值，则为匹配元素设置一个或多个属性/值对
            var adminId=$(this).attr("adminId");
            //方法可向数组的末尾添加一个或多个元素，并返回新的长度 push  数组长度加一,使当前者一行数据加上本来没有的id
            adminIdArray.push(adminId);
            var loginAcct=$(this).parents("tr").children("td:eq(2)").text();
            loginAcctArray.push(loginAcct);
        //调用要删除的ajax
        Remove(adminIdArray,loginAcctArray);

    })
    //封装删除的ajax
    function Remove(adminIdArray,loginAcctArray){
        var confirmResult=confirm("您真的要删除"+loginAcctArray+"信息吗?操作不可逆,请谨慎决定!")
        if(confirmResult==false){
            return;
        }
        //定义一个参数 把数据转换成 json格式输出
        var requestBody=JSON.stringify(adminIdArray);

        $.ajax({
            url:"/admin/batch/remove",
            type:"post",
            data:requestBody,
            dataType:"json",
            contentType:"application/json;charset=UTF-8",
            success:function(response){
                var result=response.result;
                if(result=="SUCCESS"){
                    //成功跳转页面
                    window.location.href="/admin/query/for/search?pageNum=${requestScope['PAGE-INFO'].pageNum}&keyword=${param.keyword}";
                }else{
                    //失败
                    alert(response.message+"删除失败!");
                    return;
                }
            }
        })
    }


</script>
